#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <string.h>
//int convertInteger(int A, int B) {
//    int c = (A ^ B);
//
//    int count = 0;
//    unsigned int a = 1;
//    for (int i = 0; i < 63; i++)
//    {
//
//        if ((c & a) != 0)
//        {
//            count++;
//        }
//        a = a << 1;
//    }
//    //printf("%d",count);
//    return count;
//}
//
//int main()
//{
//    
//    int num = convertInteger(5, 6);
//    printf("%d", num);
//    return 0;
//}

//int dominantIndex(int* nums, int numsSize) {
//    printf("%d", nums[numsSize - 1]);
//    printf("\n");
//    int i = 0;
//    int max = 0;
//    for (i = 0; i < numsSize - 1; i++)
//    {
//        if (nums[i] > max)
//        {
//            max = nums[i];
//        }
//    }
//    printf("%d", max);
//    int num = 0;
//    int flag = 0;
//    for (i = 0; i < numsSize; i++)
//    {
//        if (nums[i] == max)
//        {
//            num = i;
//            //continue;
//        }
//        else
//        {
//            if (nums[i] * 2 > max)
//            {
//                flag = 1;
//                //break;
//            }
//        }
//    }
//    if (flag == 0)
//    {
//        //printf("%d",num);
//        return num;
//    }
//    else
//    {
//        //printf("%d",-1);
//        return -1;
//    }
//    //return 0;
//}
//
//int main()
//{
//    int nums[] = {3,6,1,0 };
//    int a = dominantIndex(nums, 4);
//    printf("%d", a);
//    return 0;
//}
//
//int* intersection(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize) {
//    int arr[1002] = { 0 };
//    int ret[1000] = { 0 };
//    for (int i = 0; i < nums1Size; i++)
//    {
//        arr[nums1[i]]++;
//    }
//    for (int i = 0; i < nums2Size; i++)
//    {
//        arr[nums2[i]]++;
//    }
//
//    //int num=nums1Size>nums2Size?nums1Size:nums2Size;
//    for (int j = 0; j < 1000; j++)
//    {
//        if (arr[j] >= 2)
//        {
//            int i = 0;
//            ret[i] = j;
//            i++;
//        }
//    }
//    //*returnSize=i;
//    memcpy(nums1, ret, sizeof(int) * 1000);
//    return nums1;
//}

//int* intersection(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize)
//{
//    //int num[1000]={0};
//    int* num = (int*)malloc(sizeof(int) * 1);
//    num = (int*)realloc(num, sizeof(int) * 1000);
//    int arr[1002] = { 0 };
//    int k = 0;
//    for (int i = 0; i < nums1Size; i++)
//    {
//        if (arr[nums1[i]] != 1)
//        {
//            arr[nums1[i]] = 1;
//        }
//    }
//    for (int j = 0; j < nums2Size; j++)
//    {
//        if (arr[nums2[j]] == 1)
//        {
//            arr[nums2[j]]++;
//            num[k] = nums2[j];
//            k++;
//        }
//
//    }
//    //printf("%d", num[0]);
//    //printf("\n");
//    //memcpy(nums1,num,sizeof(int)*1000);
//    return num;
//}
//
//int main()
//{
//    int arr1[] = {1,2,2,1};
//    int arr2[] = { 2,2 };
//    int* ab=NULL;
//    int* a = intersection(arr1, 4, arr2, 2,ab);
//    int n = 0;
//   /* while (a[n])
//    {
//        
//        n++;
//    }*/
//    printf("%d", a[0]);
//    //printf("%d", a[1]);
//    return 0;
//}

//void test(int* tt)
//{
//	printf("\n");
//}
//
//int main()
//{
//	int arr[5] = { 1,2,3,4,5 };
//	test(arr);
//
//	return 0;
//}

//int main()
//{
//	FILE* fp;
//	char ch;
//	if ((fp = fopen("file", "w")) == NULL)
//	{
//		assert("fopen");
//	}
//	ch = getchar();
//	while (ch != '#')
//	{
//		fputc(ch, fp);
//		ch = getchar();
//	}
//	fclose(fp);
//	return 0;
//}

int main()
{
	FILE* fp;
	char ch;
	fp = fopen("file", "r");
	ch = fgetc(fp);
	while (ch != EOF)
	{
		putchar(ch);
		ch = fgetc(fp);
	}
	fclose(fp);

	return 0;
}